package scheduler

import "github.com/robfig/cron"

type CronStruct struct {
	CC *cron.Cron
}

func (c *CronStruct) Help() string {
	helpText := `
 1 ┌─────────────second 范围 (0 - 60)
 2 │ ┌───────────── min (0 - 59)
 3 │ │ ┌────────────── hour (0 - 23)
 4 │ │ │ ┌─────────────── day of month (1 - 31)
 5 │ │ │ │ ┌──────────────── month (1 - 12)
 6 │ │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to
 7 │ │ │ │ │ │                  Saturday)
 8 │ │ │ │ │ │
 9 │ │ │ │ │ │
10 * * * * * *
	`
	return helpText
}

func (c *CronStruct) Init() {
	c.CC = cron.New()
}

func (c *CronStruct) AddCornFunc(sepc string, cmd func()) error {
	err := c.CC.AddFunc(sepc, cmd)
	if err != nil {
		return err
	}
	return nil
}

func (c *CronStruct) Start() {
	c.CC.Start()
}

func (c *CronStruct) Stop() {
	c.CC.Stop()
}
